<HTML>
<HEAD>
<TITLE>Metody obsugi danych obiektu Text W3C</TITLE>
<SCRIPT LANGUAGE="JavaScript">
function doAppend(form) {
    var node = document.getElementById("myP").firstChild
    var newString = form.appendStr.value
    try {
        node.appendData(newString)
    }
    catch(err) {
        handleError(err)
    }
}
function doDelete(form) {
    var node = document.getElementById("myP").firstChild
    var offset = form.deleteOffset.value
    var count = form.deleteCount.value
    try {
        node.deleteData(offset, count)
    }
    catch(err) {
        handleError(err)
    }
}
function doInsert(form) {
    var node = document.getElementById("myP").firstChild
    var offset = form.insertOffset.value
    var newString = form.insertStr.value
    try {
        node.insertData(offset, newString)
    }
    catch(err) {
        handleError(err)
    }
        
}
function doReplace(form) {
    var node = document.getElementById("myP").firstChild
    var offset = form.replaceOffset.value
    var count = form.replaceCount.value
    var newString = form.replaceStr.value
    try {
        node.replaceData(offset, count, newString)
    }
    catch(err) {
        handleError(err)
    }
}
function showSubstring(form) {
    var node = document.getElementById("myP").firstChild
    var offset = form.substrOffset.value
    var count = form.substrCount.value
    try {
        alert(node.substringData(offset, count))
    }
    catch(err) {
        handleError(err)
    }
}
// error handler for these methods
function handleError(err) {
    switch (err.name) {
        case "NS_ERROR_DOM_INDEX_SIZE_ERR":
            alert("Wielko przesunicia wykracza poza dozwolony zakres.")
            break
        case "NS_ERROR_DOM_NOT_NUMBER_ERR":
            alert("Upewnij si, e wszystkie dane numeryczne zostay poprawnie 
            zapisane.")
            break
        default:
            alert("Sprawd poprawno podanych informacji.")
    }
}
</SCRIPT>
</HEAD>
<BODY>
<H1>Metody obsugi danych obiektu Text W3C</H1>
<HR>
<P ID="myP" STYLE="font-weight:bold; text-align:center">
A zatem mwiem na siebie Pip, i inni te zaczli tak mnie nazywa.</P>
<FORM NAME="choices">
<P><INPUT TYPE="button" onClick="doAppend(this.form)" VALUE="appendData()">
acuch znakw:<INPUT TYPE="text" NAME="appendStr" SIZE=30></P>

<P><INPUT TYPE="button" onClick="doDelete(this.form)" VALUE="deleteData()">
Przesunicie:<INPUT TYPE="text" NAME="deleteOffset" SIZE=3>
Ilo:<INPUT TYPE="text" NAME="deleteCount" SIZE=3></P>

<P><INPUT TYPE="button" onClick="doInsert(this.form)" VALUE="insertData()">
Przesunicie:<INPUT TYPE="text" NAME="insertOffset" SIZE=3>
acuch znakw:<INPUT TYPE="text" NAME="insertStr" SIZE=30></P>
<P><INPUT TYPE="button" onClick="doReplace(this.form)" VALUE="replaceData()">
Przesunicie:<INPUT TYPE="text" NAME="replaceOffset" SIZE=3>
Ilo:<INPUT TYPE="text" NAME="replaceCount" SIZE=3>
acuch znakw:<INPUT TYPE="text" NAME="replaceStr" SIZE=30></P>

<P><INPUT TYPE="button" onClick="showSubstring(this.form)" VALUE="substringData()">
Przesunicie:<INPUT TYPE="text" NAME="substrOffset" SIZE=3>
Ilo:<INPUT TYPE="text" NAME="substrCount" SIZE=3></P>

</FORM>
</BODY>
</HTML>